let dictionaryConfig = {
  // 债券借贷
  bondLending: {
    // 申报类型
    declareType: {
      init: [{ value: '1', title: '成交申报', required: [] }],
      callback: [
        { value: '2', title: '换券申报', required: [] },
        { value: '3', title: '到期结算', required: [] },
      ],
      all: [
        { value: '1', title: '成交申报', required: [] },
        { value: '2', title: '换券申报', required: [] },
        { value: '3', title: '到期结算', required: [] },
      ],
    },

    // 交易市场
    exchange: [
      { value: '101', title: '上交所' },
      { value: '113', title: '银行间' },
    ],

    //委托方向
    orderSide: [
      { value: '1', title: '融入' },
      { value: '2', title: '融出' },
    ],

    //清算速度
    liquidationSpeed: [
      { value: '1', title: 'T+0' },
      { value: '2', title: 'T+1' },
    ],

    //首次结算方式
    firstsettlementType: [{ value: '1', title: '券券对付' }],

    //到期结算方式
    settlementType: [{ value: '2', title: '券费对付' }],

    //质押券置换安排
    pledgeExchange: [
      { value: '1', title: '是' },
      { value: '2', title: '否' },
    ],
    //争议解决方式
    conflictreSolution: [
      { value: '1', title: '诉讼' },
      { value: '2', title: '仲裁' },
      { value: '3', title: '其他' },
    ],
    // 定义初始化状态
    init: {
      productId: { name: '产品', initValue: undefined, required: true },
      portfolioId: { name: '组合', initValue: undefined, required: true },
      orderCategory: { name: '申报类型', initValue: null, required: true },
      exchangeCode: { name: '交易市场', initValue: '101', required: true },

      orderSide: { name: '委托方向', initValue: null, required: true },
      originalOrderNumber: { name: '原订单号', initValue: null, required: null },
      counterParty: { name: '交易对手', initValue: null, required: true },
      counterPartyper: { name: '对手交易员', initValue: null, required: null },

      counterPartyAccount: { name: '交易对手账户', initValue: null, required: null },
      counterPartyorg: { name: '交易对手单元', initValue: null, required: null },
      liquidationSpeed: { name: '清算速度', initValue: '1', required: true },
      lendingDays: { name: '借贷天数', initValue: null, required: true },

      occupationDays: { name: '实际占款天数', initValue: null, required: false },
      loanFaceValue: { name: '借贷面额', initValue: null, required: false },
      lendingRate: { name: '借贷费率', initValue: null, required: true },
      lendingFee: { name: '借贷费用', initValue: null, required: false },

      firstsettlementType: { name: '首次结算方式', initValue: '1', required: false },
      settlementType: { name: '到期结算方式', initValue: '2', required: false },
      firstsettlementDate: { name: '首次结算日', initValue: null, required: false },
      settlementDate: { name: '到期结算日', initValue: null, required: false },

      pledgeExchange: { name: '质押券置换安排', initValue: '1', required: false },
      conflictreSolution: { name: '争议解决方式', initValue: '1', required: false },
      creator: { name: '下达人', initValue: null, required: false },
      remark: { name: '备注', initValue: null, required: false },
      investmentType: { name: '投资类型', initValue: 'FVTPL', required: true },
    },
    // 定义回填状态
    callback: {
      // 不需要回填字段
      noinitValue: ['creator', 'remark', 'originalOrderNumber'],
      // 回填禁用字段
      disabled: ['exchangeCode', 'productId', 'orderSide', 'counterParty', 'counterPartyper', 'liquidationSpeed', 'lendingDays', 'pledgeExchange', 'conflictreSolution'],
    },
  },
};

export default dictionaryConfig;
